﻿using System;
using System.Collections.Generic;
using System.Text;

namespace SimpleSalesTrackingAPIWrapper
{
    public class Lookups
    {
        // ----------------------------------------------
        // Countries
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Country> GetCountries(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Country>(api.GetCountries(username, password));
        }

        public static SimpleSalesTrackingAPI.Country GetCountryById(string username, string password, int countryId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetCountryById(username, password, countryId);
        }

        // ----------------------------------------------
        // Cultures
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Culture> GetCultures(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Culture>(api.GetCultures(username, password));
        }

        public static SimpleSalesTrackingAPI.Culture GetCultureById(string username, string password, int cultureId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetCultureById(username, password, cultureId);
        }

        // ----------------------------------------------
        // Currencies
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Currency> GetCurrencies(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Currency>(api.GetCurrencies(username, password));
        }

        public static SimpleSalesTrackingAPI.Currency GetCurrencyById(string username, string password, int currencyId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetCurrencyById(username, password, currencyId);
        }

        // ----------------------------------------------
        // Scales
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Scale> GetScales(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Scale>(api.GetScales(username, password));
        }

        public static SimpleSalesTrackingAPI.Scale GetScaleById(string username, string password, int scaleId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetScaleById(username, password, scaleId);
        }

        // ----------------------------------------------
        // ScheduleTypes
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.ScheduleType> GetScheduleTypes(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.ScheduleType>(api.GetScheduleTypes(username, password));
        }

        public static SimpleSalesTrackingAPI.ScheduleType GetScheduleTypeById(string username, string password, int scheduleTypeId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetScheduleTypeById(username, password, scheduleTypeId);
        }

        // ----------------------------------------------
        // Stages
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Stage> GetStages(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Stage>(api.GetStages(username, password));
        }

        public static SimpleSalesTrackingAPI.Stage GetStageById(string username, string password, int stageId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetStageById(username, password, stageId);
        }

        // ----------------------------------------------
        // Statuses
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.Status> GetStatuses(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.Status>(api.GetStatuses(username, password));
        }

        public static SimpleSalesTrackingAPI.Status GetStatusById(string username, string password, int statusId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetStatusById(username, password, statusId);
        }

        // ----------------------------------------------
        // TaskStatuses
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.TaskStatus> GetTaskStatuses(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.TaskStatus>(api.GetTaskStatuses(username, password));
        }

        public static SimpleSalesTrackingAPI.TaskStatus GetTaskStatusById(string username, string password, int taskStatusId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetTaskStatusById(username, password, taskStatusId);
        }

        // ----------------------------------------------
        // TimeZones
        // ----------------------------------------------

        public static List<SimpleSalesTrackingAPI.TimeZone> GetTimeZones(string username, string password)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return new List<SimpleSalesTrackingAPI.TimeZone>(api.GetTimeZones(username, password));
        }

        public static SimpleSalesTrackingAPI.TimeZone GetTimeZoneById(string username, string password, int timeZoneId)
        {
            SimpleSalesTrackingAPI.API api = new SimpleSalesTrackingAPI.API();
            return api.GetTimeZoneById(username, password, timeZoneId);
        }
    }
}
